Soy bastante nuevo en streams en node. Estoy tratando de escuchar el evento de "drenaje" cuando escribo en la transmisión de res Express.js. El flujo de resolución tiene contrapresión y res.write() devuelve falso como se esperaba. Nunca emite el evento 'drenaje'. ¿Express.js está capturando el evento y no lo deja burbujear?
Ejemplo:
function someController(req, res) { for (let i = 0; i < 1000; i++) { const flushed = res.write('some text\n') if (!flushed) { res.once('drain', () => console.log('drained')) } } res.end() }